pub enum Week
{
    Mon = 1,
    Tue,
    Wen,
    Thu,
    Fri,
    Sat,
    Sun
}

pub enum Sex
{
    Male(u8),
    Female(u8),
    TransMale(u8),
    TransFemale(u8),
    Queer(u8)
}

pub fn enum_test(pattern0: Week, pattern1: Sex) -> ()
{
    match pattern0
    {
        Week::Mon => println!("{}", Week::Mon as i32),
        Week::Tue => println!("{}", Week::Tue as i32),
        Week::Wen => println!("{}", Week::Wen as i32),
        Week::Thu => println!("{}", Week::Thu as i32),
        Week::Fri => println!("{}", Week::Fri as i32),
        Week::Sat => println!("{}", Week::Sat as i32),
        Week::Sun => println!("{}", Week::Sun as i32)
    }
    let sex: Sex = pattern1;
    match sex
    {
        Sex::Male(n) => println!("{}", n),
        Sex::Female(n) => println!("{}", n),
        Sex::TransMale(n) => println!("{}", n),
        Sex::TransFemale(n) => println!("{}", n),
        Sex::Queer(n) => println!("{}", n)
    }
}

#[derive(Debug)]
pub enum Options {
    Some(u16),
    None
}
// enum WebEvent {
//     // An `enum` may either be `unit-like`,
//     //类似于：struct PageLoad ; // 一个empty struct。
//     PageLoad,
//     PageUnload,
//     // like tuple structs,
//     //类似于一个tuple struct。
//     KeyPress(char),
//     Paste(String),
//     // or c-like structures.
//     //类似于c structure。
//     Click { x: i64, y: i64 },
// }
